public class Note {
    //什么是多态
    //对象的多种形式

    //多态的前提
    //有继承/实现关系
    //有父类引用指向子类对象

    //多态的好处
    //使用父类型作为参数,可以接受所有子类对象,体现多态的扩展性与便利

    // 创建对象(多态方式)
    //Fu f = new Zi()

    //调用成员变量
    //编译看左边,运行也看左边
    //编译看左边:javac在编译代码的时候,会看左边父类中有没有这个变量,如果有,编译成功,反之编译失败
    //运行也看左边:java运行代码的时候,实际获取的就是左边父类中成员变量的值

    //调用成员方法
    //编译看左边,运行看右边
    //编译看左边:javac在编译代码的时候,会看左边父类中有没有这个方法,如果有,编译成功,反之编译失败
    //运行看右边:java运行代码的时候,实际获取的就是子类中成员变量的值

    //多态的优势
    //方法中,使用父类型作为参数,可以接受所有子类对象

    //多态的弊端
    //不能使用子类的特有功能

    //引用数据类型的类型转换的方式
    //自动类型转换,强制类型转换

    //强制类型转换能解决什么问题
    //可以转换成真正的子类类型,从而调用子类独有功能
    //转换类型与真实对象类型不一致会报错
    //转换的时候用instanceof关键字判断








}
